Systems and methods for integrating information from voice over internet protocol systems and social networking systems

ABSTRACT

Systems and methods of determining whether to invite an entity to join a social networking system review a user&#39;s communications activity on a telephony system, and analyze that activity to identify entities with whom the user communicates. Those entities are then invited to join a social networking system that the user is a member of. The entities may also be invited to form a link with the user on the social networking system.

This application claims priority to the filing date of U.S. ProvisionalPatent Application Ser. No. 61/406,729, filed Oct. 26, 2010, thecontents of which are incorporated herein by reference.

BACKGROUND OF THE TECHNOLOGY

The technology is related to Internet Protocol (IP) telephony systemswhich connect telephone calls to or from devices using data packetcommunications. In a typical IP telephony system, users can place andreceive telephone calls using IP based telephones, computers running IPtelephony software, or via a normal analog telephone which is connectedto the Internet via a telephone adapter.

Each time that a customer of the IP telephony system places a call orreceives a call through the IP telephony system, a call detail record(CDR) is established for the call. The CDR includes various items ofinformation about the call. For instance, the information included in aCDR would typically include the telephone number of the calling party,the telephone number of the called party, the time the call wasestablished, the time the call ended, as well as various other items ofinformation relating to the elements of the IP telephony system thathandled the call.

The technology is also related to social networking systems which allowmembers to easily interact with one another via the Internet. Typically,each member of a social networking system will establish a presence onthe social networking system, which can include posting some basicinformation. Members then establish links to one another through thesocial networking system. Once a link is established between first andsecond members, the first member can easily see information posted bythe second member, and vice versa.

Presently, there is no way for a social networking system to obtain andutilize the information in CDRs that are recorded by a IP telephonysystem in order to aid the social networking system in providingservices to the members of the social networking system. Specifically,there is no way for a social networking system to utilize theinformation contained in CDRs to recommend that two unlinked members ofa social networking system establish a link between themselves.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of various elements which may be associated with anIP telephony system, a typical public switched telephone network (PSTN)and one or more social networking systems;

FIG. 2 is a diagram of various elements of a processor which can be partof an IP telephony system;

FIG. 3 is a block diagram illustrating selected elements of an IPtelephony system;

FIG. 4 is a diagram illustrating how information obtained from calldetail records and social networking systems can be correlated;

FIG. 5 is a diagram illustrating steps of a first method of determiningwhen to recommend that two people establish a link on a socialnetworking system;

FIG. 6 illustrated the structure of an embodiment of an IDcross-reference database;

FIG. 7A is a diagram of a second method of determining when to recommendthat one person establish a link on a social networking system with asecond person;

FIG. 7B is a diagram of a third method of determining when to recommendthat one person establish a link on a social networking system;

FIG. 8 is a diagram illustrating steps of a fourth method of determiningwhen to recommend that two people establish a link on a socialnetworking system;

FIG. 9 is a diagram illustrating steps of a fifth method of determiningwhen to recommend that two people establish a link on a socialnetworking system;

FIG. 10 is a diagram illustrating steps of a first method of determiningwhen to recommend targeted advertising;

FIG. 11 is a diagram illustrating steps of a second method ofdetermining when to recommend targeted advertising;

FIG. 12 is a diagram illustrating steps of a sixth method of determiningwhen to recommend that two people establish a link on a socialnetworking system;

FIG. 13 is a diagram illustrating steps of a seventh method ofdetermining when to recommend that two people establish a link on asocial networking system; and

FIG. 14 is a diagram illustrating steps of a eighth method ofdetermining when to recommend that two people establish a link on asocial networking system;

FIG. 15 is a diagram illustrating steps of a method of addinginformation to an address book maintained for a customer by an IPtelephony system

FIG. 16 is a diagram illustrating steps of a first method of determiningwhen to invite a person to join a social networking system; and

FIG. 17 is a diagram illustrating steps of a second method ofdetermining when to invite a person to join a social networking system.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

FIG. 1 illustrates different elements which can be a part of an IPtelephony system, a public switched telephone network (PSTN), a cellulartelephone network, and one or more social networking systems.

As shown therein, an IP telephony system 120 enables connection oftelephone calls between its own customers and other parties via datacommunications that pass over a data network. The IP telephony systemmight also deliver SMS or MMS messages to or from its customers, as wellas deliver other forms of communications. As illustrated in FIG. 1, thedata network is commonly the Internet. The IP telephony system 120 isconnected to the Internet 110. In addition, the IP telephony system 120is connected to a PSTN 130 via a gateway 122.

The gateway 122 allows users and devices that are connected to the PSTNto connect with users and devices that are reachable through the IPtelephony system 120, and vice versa. In some instances, the gateway 122would be a part of the IP telephony system 120. In other instances, thegateway 122 could be maintained by a third party.

Customers of the IP telephony system 120 can place and receive telephonecalls using an IP telephone 108 that is connected to the Internet 110.Such an IP telephone could be connected to an Internet service providervia a wired connection or via a wireless router. In some instances, theIP telephone 108 could utilize a cellular telephone system to access theInternet.

Alternatively, a customer could utilize a normal analog telephone 102 awhich is connected to the Internet 110 via a telephone adapter 104. Thetelephone adapter converts analog signals from the telephone into datasignals that pass over the Internet 110, and vice versa. Also, asillustrated in FIG. 1, multiple analog telephone devices 102 a, 102 band 102 c could all be coupled to the same telephone adaptor 104. Analogtelephone devices include but are not limited to standard telephones anddocument imaging devices such as facsimile machines. A configurationusing a telephone adapter 104 is common where all of the analogtelephone devices 102 a, 102 b and 102 c are located in a residence orbusiness, and all of the telephone devices are connected to the sametelephone adapter. With this type of a configuration, all of the analogtelephone devices 102 a, 102 b, 102 c share the same telephone numberassigned to the telephone adaptor 104. Other configurations are alsopossible where multiple communication lines (e.g., a second telephonenumber) are provisioned by the IP telephony system.

In addition, a customer could utilize a soft-phone client running on acomputer 106 to place and receive IP based telephone calls, and toaccess other IP telephony systems. In some instances, the soft-phoneclient could be assigned its own telephone number. In other instances,the soft-phone client could be associated with a telephone number thatis also assigned to an IP telephone 108, or to a telephone adaptor 104that is connected to one or more analog telephones.

A third party using an analog telephone 132 which is connected to thePSTN 130 may call a customer of the IP telephony system 120. In thisinstance, the call is initially connected from the analog telephone 132to the PSTN 130, and then from the PSTN 130, through the gateway 122 tothe IP telephony system 120. The IP telephony system 120 would thenroute the call to the customer's IP telephony device. A third partyusing a cellular telephone 134 could also place a call to an IPtelephony system customer, and the connection would be established in asimilar manner, although the first link would involve communicationsbetween the cellular telephone 134 and a cellular telephone network. Forpurposes of this explanation, the cellular telephone network isconsidered part of the PSTN 130.

In addition, mobile computing devices which include cellular telephonecapabilities could also be used to place telephone calls to customers ofthe IP telephony system. A mobile computing device 136 as illustrated inFIG. 1 might connect to the PSTN 130 using its cellular telephonecapabilities. However, such devices might also have the ability toconnect wirelessly via some other means. For instance, a mobilecomputing device 136 might communicate with a wireless data router toconnect the mobile computing device 136 directly to a data network, suchas the Internet 110. In this instance, communications between the mobilecomputing device 136 and other parties could be entirely carried by datacommunications which pass from the mobile computing device directly to adata network 110. Of course, alternate embodiments could utilize anyother form of wireless communications path to enable communications.

Users of the IP telephony system 120 are able to access the service fromvirtually any location where they can connect to the Internet. Thus, acustomer could register with an IP telephony system provider in theU.S., and that customer could then use an IP telephone 108 located in acountry outside the U.S. to access the services. Likewise, the customercould also utilize a computer outside the U.S. that is running asoft-phone client to access the IP telephony system.

Additional elements illustrated in FIG. 1 are introduced and discussedin greater detail below.

FIG. 2 illustrates elements of a computer processor that can be used aspart of the IP telephony system 120 to accomplish various functions. TheIP telephony system 120 could include multiple processors 150 located atvarious locations in the system, along with their operating componentsand programming, each carrying out a specific or dedicated portion ofthe functions performed by the VOIP based telephony service 120.

The processor 150 shown in FIG. 2 may be one of any form of a generalpurpose computer processor used in accessing an IP-based network, suchas a corporate intranet, the Internet or the like. The processor 150comprises a central processing unit (CPU) 152, a memory 154, and supportcircuits 156 for the CPU 152. The processor 150 also includes provisions158/160 for connecting the processor 150 to customer equipment and toservice provider agent equipment, as well as possibly one or moreinput/output devices (not shown) for accessing the processor and/orperforming ancillary or administrative functions related thereto. Theprovisions 158/160 are shown as separate bus structures in FIG. 2;however, they may alternately be a single bus structure withoutdegrading or otherwise changing the intended operability of theprocessor 150.

The memory 154 is coupled to the CPU 152. The memory 154, orcomputer-readable medium, may be one or more of readily available memorysuch as random access memory (RAM), read only memory (ROM), floppy disk,hard disk, flash memory or any other form of digital storage, local orremote, and is preferably of non-volatile nature. The support circuits156 are coupled to the CPU 152 for supporting the processor in aconventional manner. These circuits include cache, power supplies, clockcircuits, input/output circuitry and subsystems, and the like.

A software routine 162, when executed by the CPU 152, causes theprocessor 150 to perform processes of the disclosed embodiments, and isgenerally stored in the memory 154. The software routine 162 may also bestored and/or executed by a second CPU (not shown) that is remotelylocated from the hardware being controlled by the CPU 152. Also, thesoftware routines could also be stored remotely from the CPU. Forexample, the software could be resident on servers and memory devicesthat are located remotely from the CPU, but which are accessible to theCPU via a data network connection.

The software routine 162, when executed by the CPU 152, transforms thegeneral purpose computer into a specific purpose computer that performsone or more functions of the IP telephony system 120. Although theprocesses of the disclosed embodiments may be discussed as beingimplemented as a software routine, some of the method steps that aredisclosed therein may be performed in hardware as well as by a processorrunning software. As such, the embodiments may be implemented insoftware as executed upon a computer system, in hardware as anapplication specific integrated circuit or other type of hardwareimplementation, or a combination of software and hardware. The softwareroutine 162 of the disclosed embodiments is capable of being executed onany computer operating system, and is capable of being performed usingany CPU architecture.

In the following description, references will be made to an “IPtelephony device.” This term is used to refer to any type of devicewhich is capable of interacting with an IP telephony system to conduct atelephone call, to send or receive text messages, or to send and receiveother forms of communications. An IP telephony device could be an IPtelephone, a computer running IP telephony software, an IP telephonyadapter which is itself connected to a normal analog telephone, or someother type of device capable of communicating via data packets. An IPtelephony device could also be a cellular telephone or a portablecomputing device that runs a software client that enables the device toact as an IP telephone. Thus, a single device might be capable ofoperating as both a cellular telephone and an IP telephone.

Moreover, certain devices that are not traditionally used as IPtelephony devices may act as IP telephony devices once they areconfigured with appropriate client software. Thus, some devices thatwould not normally be considered IP telephony devices may become IP oncethey are running appropriate software.

FIG. 1 also illustrates a first social networking system 140 and asecond social networking system 142. Both social networking systems areconnected to the Internet. As explained above, members of a socialnetworking system are able to access the social networking system viathe Internet. In some instances, access would be obtained using acomputer. In other instances, a member might obtain access to the socialnetworking system using a cellular telephone or a mobile computingdevice.

Members of a social networking system are able to post information,text, Internet links, and possibly photos, videos and other forms ofmedia to the social networking system. Members of a social networkingsystem are also able to selectively establish links between each other.Once a link has been established between first and second members,information posted by the first member can be accessed and viewed by thesecond member, and vice versa.

Some social networking systems also allow users to record their owncontact information, and to make this information available to othermembers to whom they are linked. In fact, some social networking systemshave as their primary purpose, a way for two people to easily exchangetheir respective contact information. In such systems, a first membercould be linked to a large number of other members. If the first memberneeds to update an item of his own contact information due to aresidential move, a professional move, or because of a change in atelephone number or e-mail address, the first member need only updatehis contact information posted on the social networking system. Oncethat change has been made, the changed information will becomeimmediately available to the other members linked to the first member.Thus, the social networking system provides a simple and expedient wayto make one's current contact information available to many otherpeople.

Often, two people who are both members of a social networking system,and who are personally acquainted or may otherwise have common contacts,are not linked to one another simply because each person is unaware thatthe other person is also a member of the social networking system. Insome instances, a first member of a social networking system might beaware that one of his friends is also a member of the same socialnetworking system, but the first member may not be able to find thefriend using a name or e-mail address for purposes of establishing alink. Systems and methods of determining whether to recommend that twopeople link to one another on a social networking system will now bedescribed with reference to FIGS. 3-5.

FIG. 3 is a block diagram that presents some of the elements of an IPtelephony system which is capable of determining when to recommend thattwo members of a social networking system establish a link on the socialnetworking system.

The IP telephony system 120 includes a database 310 that includesinformation about calls, text messages and other forms of communicationsthat have been placed through or completed through the IP telephonysystem. A CDR Analysis Unit 370 is coupled to the CDR database 310. TheCDR Analysis Unit 370 is capable of analyzing the CDR data in variousways, as will be explained in more detail below. The CDR Analysis Unit370 may also be linked to various other assets both inside and outsidethe IP telephony system. For example, the CDR Analysis Unit 370 may belinked to various databases of telephone numbers, various databases ofbusinesses, and/or reverse telephone number databases that correlatetelephone numbers to particular individuals or businesses.

The IP telephony system 120 also includes a voicemail recording storageunit 320. The voicemail recordings could be recordings of voicemailmessages left for customers or users of the IP telephony system. Inother instances, the voicemail recordings could be recordings thatcustomers or users of the IP telephony system have left for people whoobtain telephony services from some other service provider.

The IP telephony system 120 further includes a telephone call recordingstorage unit 330 that contains recordings of telephone calls placed overthe IP telephony system. This could include recordings of outgoingtelephone calls placed by customers of the IP telephony system, andrecordings of incoming telephone calls placed to customers of thetelephony system by non-customers.

A transcription unit 335 is coupled to the voicemail recording storageunit 320 and the telephone call recording storage unit 330. Thetranscription unit 335 utilizes speech recognition assets to generatetranscriptions of the recorded voicemail messages and telephone calls.

The transcription unit 335 is coupled to a content analysis unit 360.The content analysis unit 360 may also be coupled to a text messagestorage unit 340 and an e-mail storage unit 350. The text messagesstored in the text message storage unit 340 and the e-mails stored inthe e-mail storage unit 350 could include both text messages and e-mailsgenerated by the customers of the IP telephony system, as well asincoming text messages and e-mails that were generated by non-customersand that were sent to the customers of the IP telephony system. Thecontent analysis unit 360 would analyze the content of the voicemailrecordings, the telephone conversations, the text messages and thee-mails in various different ways as is explained in more detail below.

A social networking system interface 375 is used to access theinformation available to a customer on a social networking system. Thecapabilities and functions of the social networking system interface 375are described in more detail below.

The IP telephony system 120 also includes an identifier cross-referencedatabase 385. As described in more detail below, the identifiercross-reference database 385 cross-references different types ofinformation used to identify individuals and businesses. For example,the identifier cross-reference database 385 could tie a telephone numberfor an individual to the e-mail address and instant messaging identifierfor that individual. The identifier cross-reference database 385 can beloaded with information obtained from many different sources over anextended period of time, as explained in more detail below.

A Link Recommendation Unit 380 is coupled to the CDR Analysis Unit 370,the Content Analysis Unit 360, the social networking system interface375 and the identifier cross-reference database 385. In addition, theLink Recommendation Unit 380 may also receive information from otherassets both inside the IP telephony system 120 and outside the IPtelephony system 120. For example, the Link Recommendation Unit 380 mayinterfacing with and obtain information from a social networking system,as is described in more detail below. Based on the information itobtains and analyses, the Link Recommendation Unit 380 generatesrecommendations that one member of a social networking system form alink with another member of the social networking system. Suchrecommendations could be sent to one of the two members, or to both ofthe members.

An Advertising Recommendation Unit 390 is also coupled to the CDRAnalysis Unit 370 and the Content Analysis Unit 360. In addition, theAdvertising Recommendation Unit 390 may receive information from otherassets both inside the IP telephony system 120 and outside the IPtelephony system 120. For example, the Advertising Recommendation Unit390 may interface with and obtain information from various databases oftelephone numbers, businesses and/or from reverse telephone numberdatabases that correlate businesses to telephone numbers, as isdescribed in more detail below. Based on the information it obtains andanalyses, the Advertising Recommendation Unit 390 generatesrecommendations about whether, when and possibly how to sendadvertisements to individuals.

An Advertising Transmission Unit 395 is used to deliver advertisingmessages. The Advertising Transmission Unit 395 may receive instructionsregarding the delivery of advertising messages from the AdvertisingRecommendation Unit 390. The Advertising Transmission Unit 395 deliversadvertising messages to individuals in any of multiple different ways,as is discussed in more detail below.

FIG. 4 illustrates CDR data for two customers of an IP telephony system120. Customer 1 has a telephone number of 617-551-6789. Customer 2 has atelephone number of 312-991-4321. As explained above, each time that acustomer of an IP telephony system places a call to another party, orreceives a call from another party, information about the call isrecorded in call detail records. Similarly, when a customer sends orreceives a text message or some other form of communication, informationabout the communication is recorded. This can include the telephonenumber from which an incoming communication was received, or thetelephone number to which an outgoing communication was sent.

Although FIG. 4 illustrates telephone numbers associated with incomingand outgoing communications, in some instances a communication receivedby a customer or sent by a customer of an IP telephony system may not beassociated with a telephone number. Instead, some other identifier maybe used to identify the party that sent an incoming communication to acustomer or to whom a customer has sent an outgoing communication. Thus,the illustration of telephone numbers in FIG. 4 should in no way beconsidered limiting. The methods and systems described herein couldutilize other types of identifiers to route communications to and fromcustomers of the IP telephony system.

FIG. 4 shows the telephone numbers to which customer 1 has sent outgoingcommunications 404 and the telephone numbers associated with incomingcommunications 402 received by customer 1 over a certain period of time.This same type of information is also shown for customer 2 in call lists408 and 406, respectively. Although only a few telephone numbers areillustrated in FIG. 4, one of skill in the art would appreciate that amuch larger number of calls might be placed by some individuals over agiven period of time.

FIG. 4 also illustrates that customer 1 and customer 2 are both membersof a social networking system. Some of the contact information of peopleto whom they are linked through the social networking system is alsoshown for each of customer 1 and customer 2 in contact lists 410 and412. One of skill in the art would also appreciate that each customermay be linked to a much larger number of other members. The threecontacts/links shown for each of customer 1 and customer 2 are only forillustrative purposes.

It is possible for the customers of an IP telephony system 120 toprovide the IP telephony system with credentials that allow the IPtelephony system 120 to access the information available to the customeron a social networking system. Once the IP telephony system has acustomer's credentials, the IP telephony system can access the sameinformation stored on the social networking system that would bedirectly available to the customer. Thus, an IP telephony system 120could access the contact information available to the customer.

The social networking system interface 375 of the IP telephony system120 uses a customer's credentials to access various social networkingsystems for purposes of accessing the information available to thecustomer on the social networking system. The customer's credentialsmight be stored in the social networking system interface 375, or atother locations.

Once the social networking system interface 375 has accessed a socialnetworking system using a customer's credentials, the social networkingsystem interface 375 is able to review the customer's contact or linkinformation. Such information can provide the names, e-mail addresses,telephone numbers and other items of data that can be used to uniquelyidentify an individual or a business.

Because the IP telephony system also has access to the informationstored on CDRs for its customers, it is possible for the IP telephonysystem to use both pieces of information together to determine if itmakes sense to recommend that one of its customers establish a link toanother party on the social networking system. A method of doing so isillustrated in FIG. 5.

In step S502, the IP telephony system first examines customer l′s CDRsto determine the telephone numbers or identifiers to which customer 1has sent communications, and from which customer 1 has receivedcommunications. This might include reviewing CDRs for customer 1 thathave accumulated over a week, a month, or for longer periods of time.

In step S504, the social networking system interface 375 of the IPtelephony system 120 uses previously obtained credentials from customer2 to access customer 2's contact information within a social networkingsystem. Typically, the contact information is for the members of thesocial networking system to whom customer 2 is linked on the socialnetworking system. The IP telephony system 120 compares the telephonenumbers or other identifiers obtained from customer 1's CDRs in lists402 and 404 to the telephone numbers or other identifiers that are partof customer 2's contact information 412 on the social networking system.

If there is a match, that means customer 1 is communicating with someoneto whom customer 2 is linked on the social networking system. In thedata illustrated in FIG. 3, one can see that the CDR data for customer 1indicates that customer 1 sent a communication to telephone number312-333-1234, which is the telephone number for Sue Johnson, one of thepeople to whom customer 2 is linked on the social networking system.Likewise, customer 1 has also sent a communication to telephone number808-215-5555, which is the telephone number for Kate Jackson, another ofthe people to whom customer 2 is linked on the social networking system.

Given those connections, in step S506 the system would issue arecommendation that customer 1 establish a link on the social networkingsystem to customer 2, and/or vice versa. The recommendation to create alink on the social networking system could be delivered to one or bothof the customers via the IP telephony system 120 or via the socialnetworking system.

The fact that the IP telephony system is able to access both itscustomers' CDR data, as well as its customers' contact or linkinformation on a social networking system makes it possible for the IPtelephony system to identify connections between members of the socialnetworking system that could not be identified by the informationpresent only within the social networking system alone. Increasing thenumber of links between its members is one way for a social networkingsystem to increase its utility to its members. Thus, recommending linksin this fashion should be desirable to both the customers, and to theoperators of the social networking system.

In the method described above, telephone numbers and/or otheridentifiers from one customer's CDR data are compared to the contactinformation stored for a second customer on a single social networkingsystem. One of skill in the art will appreciate that the telephonenumbers and/or identifiers obtained from customer 1's CDR data could becompared to the contact information for a large number of members of thesocial networking system. Likewise, one of skill in the art willappreciate that the telephone numbers and/or identifiers obtained fromcustomer 1's CDRs could also be compared to the contact data for a largenumber of members of other social networking systems.

Information about customer 2's contacts that were obtained when thesocial networking system interface 375 accessed the social networkingsystem with customer 2's credentials can be stored in the identifiercross-reference database 385 of the IP telephony system 120. Anillustration of an embodiment of a data structure of such an identifiercross-reference database 385 is provided in FIG. 6.

As shown in FIG. 6, the IP telephony system 120 can assign a uniqueidentifier to each individual or business that is entered into thedatabase. Each unique identifier is then matched to other identifiersfor individuals or businesses, such as a name, various telephonenumbers, e-mail addresses, instant messaging identifiers, addressesinformation, and other identifiers.

The identifier cross-reference database 385 can be built up over time asthe IP telephony system acquires information from a variety of differentsources. For example, the IP telephony system 120 could begin creatingan identifier cross-reference database 385 with the information itpossess for its own customers. The IP telephony system could accesscontact lists or address books that it maintains for its own customers,and this information could be used to begin building the identifiercross-reference database 385. Each time a new individual or business isidentified, a new entry for that individual or business would be createdin the identifier cross-reference database 385. As much information aspossible will then be entered into the identifier cross-referencedatabase 385 from the information available in the customers' contactlists and address books.

If the social networking system interface 375 of the IP telephony system120 obtains credentials from a first social networking system for one ofits customers, the social networking system interface 375 will accessthe customer's contact/link information available on the first socialnetworking system. If the social networking system interface 375discovers a listing for a new individual or business in the customer'scontact/link lists on the social networking system that is not alreadypresent in the identifier cross-reference database 385, a new listingfor that individual or business will be created in the identifiercross-reference database 385, and all available information will becopied into the identifier cross-reference database 385. If one of theentries in the customer's contact/link list on the social networkingsystem corresponds to a pre-existing entry in the identifiercross-reference database 385, the social networking system interface 375may be able to add new items of identifier information to the IDcross-reference database 385 for that pre-existing entry. For example,if a first social networking system has assigned its own uniqueidentifier to an individual, that information could be added to the IDcross-reference database 385.

If the social networking system interface 375 of the IP telephony system120 obtains the credentials for the same customer on a second socialnetworking system, the social networking system interface 375 willaccess the customer's contact/link information available on secondsocial networking system and try to add yet additional information tothe identifier cross-reference database.

In some instances, identifier information obtained for anindividual/business from the contact/link information available on afirst social networking system may prove valuable in obtainingadditional identifier information for that individual/business from asecond social networking system. For example, assume that before anyreviews of social networking system data are performed, an individual'slisting in the identifier cross-reference database 385 only includes theindividual's name and a mobile telephone number. Assume that during areview of a customer's contact/link information on a first socialnetworking system, the IP telephony system 120 is able to identify theindividual's entry on the contact/link list in the first socialnetworking system based on the mobile telephone number present in theidentifier cross-reference database 385. Assume also that thecontact/link information on the first social networking system includesthe individual's e-mail address. This would allow the IP telephonysystem to add the individual's e-mail address to the ID cross-referencedatabase 385.

Assume further that the same individual is listed in the customer'scontact/link information on a second social networking system. But thecontact/link entry in the second social networking system includes onlyan e-mail address and an instant messaging identifier.

If the IP telephony system uses the customer's credentials to access andreview the customer's contact/link information on the second socialnetworking system, the newly added e-mail address in the identifiercross-reference table 385 can be used to identify the individual's entryin the contact/link list on the second social networking system. Andonce the individual's entry has been identified, the IP telephony system120 will be able to further add the individual's instant messagingidentifier to the identifier cross-reference database 385.

If the individual's e-mail address had not first been obtained from areview of the contact/link information on the first social networkingsystem, the IP telephony system 120 would not have been able to identifythe individual's entry in the second social networking system. And thiswould have prevented the IP telephony system 120 from obtaining theindividual instant messaging identifier and adding the instant messagingidentifier to the identifier cross-reference database 385. Thus,maintaining the identifier cross-reference database 385, and updatingthe information stored in the identifier cross-reference database 385each time that new information becomes available helps the IP telephonysystem to create a comprehensive listing of all identifiers that can beused identify an individual or a business. And correctly identifying anindividual/business allows the IP telephony system to recommend linkswithin a social networking system, as well as recommend the delivery ofadvertising messages, as discussed below.

Steps of another method of determining when to recommend a link on asocial networking system with a customer of an IP telephony system isillustrated in FIG. 7A. As shown therein, in step S702, the CDRs thatare created for a first customer within an IP telephony system areanalyzed to determine the telephone numbers or identifiers that thefirst customer sends communications to and/or receives communicationsfrom. Next, the names of individuals and/or businesses associated withthose telephone numbers and identifiers are determined in step S704.This could be accomplished by using internal or external databases thatcorrelate telephone numbers or other identifiers to individuals and/orbusinesses.

In step S706, the names of those individuals/businesses, and possiblyalso their associated telephone numbers or other identifiers, are usedto determine if the individuals/businesses are members of the samesocial networking system as the first customer. If so, the IP telephonysystem issues a recommendation for a link. This could includerecommending that the first customer establish a link to another personor business who is a member of the social networking system, orrecommending that an individual or business establish a link to thefirst customer. Of course, this could also include issuingrecommendations for forming a link to both parties.

A method similar to the one discussed above could also be performedusing transcriptions of recordings of telephone conversations orvoicemail messages for the first customer. In this alternate method,names and telephone numbers would be extracted from transcriptions oftelephone conversations, voicemail recordings and possibly also textmessages and e-mail messages. Those names and telephone numbers wouldthen be used to determine if any of the individuals with whom the firstcustomer has been communicating are members of the same socialnetworking system as the first customer. If so, a recommendation to forma link is sent to the first customer and/or to the other identifiedindividual

FIG. 7B illustrates another method of determining when to recommend alink on a social networking system. As shown therein, in step S710, anaddress book maintained for a first customer is examined to obtainnames, telephone numbers and other identifiers for the people andbusinesses listed in the first customer's address book. If an entry inthe customer's address book contains a telephone number or anotheridentifier, but not a name, internal or external databases thatcorrelate telephone numbers or identifiers to individuals and businessescould be used to obtain names associated with the telephone numbers andidentifiers.

In step S712, the names of those individuals and businesses, andpossibly also their associated telephone numbers or identifiers, areused to determine if the individuals/businesses are members of the samesocial networking system as the first customer. If so, then in step S714a recommendation to form a link on the social networking system isissued to the first customer and/or to the identifiedindividual/business.

Another method of determining when to recommend a link on a socialnetworking system is illustrated in FIG. 8. As shown therein, in stepS802, the IP telephony system 120 examines a first customer's CDRs todetermine the telephone numbers or identifiers to which the firstcustomer has sent communications, and from which the first customer hasreceived communications. In step S804, the IP telephony system 120 doesthe same thing for a second customer. In step S806, if there is a matchbetween the telephone numbers or identifiers acquired from the firstcustomer's CDRs and the telephone numbers or identifiers acquired fromthe second customer's CDRs, then the IP telephony system recommends alink on the social networking system. This could include sending a linkrecommendation to one or both of the first and second customers.

Examples of data patterns which would lead to such link recommendationsare illustrated in FIG. 4, which shows that both customer 1 and customer2 have received communications from telephone number 212-555-1234. Thus,one can assume that customer 1 and customer 2 are both acquainted withthe same individual/business. Likewise, FIG. 4 shows that customer 1 hasreceived communications from telephone numbers 847-555-1212 and567-321-2123, which are the same telephone numbers to which customer 2has sent communications. If any of these matches were noted in stepS606, the system would recommend that customer 1 and customer 2establish a link on a social networking system where they are bothmembers. Here again, because the social networking system itself doesnot have access to the CDR data stored on the IP telephony system, therewould be no way for the social networking system to use similarinformation to make the recommendation for a link between two of itsmembers.

FIG. 9 illustrates another method of determining when to recommend thattwo people establish a link on a social networking system. In thismethod, in step S902, the IP telephony system 120 utilizes previouslyobtained credentials to access and review the contact or linkinformation for a first customer that is stored on a social networkingsystem. The IP telephony system identifies the telephone numbers, namesand other identifiers associated with the individuals and businesses inthe first customer's contact/links information.

In step S904, the IP telephony system 120 does the same thing for asecond one of its customers. In step S906, the IP telephony systemcompares the obtained telephone numbers, names and other identifiers, todetermine if there are any matches. If so, the IP telephony systemrecommends that a link be established on the social networking systembetween the first and second customers. Such a link recommendation couldbe sent to one or both of the customers.

Examples of data patterns which would lead to such link recommendationsare also shown in FIG. 4, which illustrates that customer 1's contact orlink information on the social networking system includes John Smith,who has a telephone number of 847-555-1212. Customer 2's contact or linkinformation on the social networking system lists the same person. Andif both customer 1 and customer 2 have linked to the same person, the IPtelephony system recommends that customer 1 and customer 2 establish alink on the social networking system. In some embodiments, therecommendation to form a link between two members of a social networkingsystem might only be issued if the first and second customers have aminimum number of contacts or links in common.

FIG. 10 illustrates steps of a method of using information obtained fromcustomer CDRs to recommend or sell targeted advertisements tobusinesses. This method begins in step S1002, when the IP telephonysystem would review a customer's CDRs to note communications patterns.This step could take a number of different forms. A few examples arediscussed below. However, the method would apply to virtually any typeof analysis that renders useful data.

For example, the analysis could reveal that a customer calls a certaintelephone number on a regular basis. The IP telephony system thenconsults one or more reverse telephone number databases to determine ifthe telephone number is for a business. If so, the IP telephony systemdetermines the type of business. Once that pattern has been noted, instep S1004 the IP telephony system recommends to other competingbusinesses that an advertisement be sent to the customer.

In some instances, the databases consulted to identify the businessconnected with a telephone number called by the customer could becreated and maintained by the IP telephony system itself. In otherinstances, the IP telephony system might consult databases maintained bya third party. Also, the IP telephony system might build its owndatabases over time by adding information to its own databases each timeinformation is drawn from a third party database.

One example would be to note that a customer frequently places calls toa certain pizza business. Once the IP telephony system knows that thecustomer regularly orders pizza, the IP telephony system, in step S1004,could recommend to other competing pizza shops that an advertisement besent to the customer. And because the IP telephony system is able toidentify an individual who is known to purchase pizza on a regularbasis, one would expect the competing pizza shops to pay a premium toobtain the customer's identity, or to have an advertisement delivered tothe customer.

In step S1006, the IP telephony system itself could offer to deliver theadvertisement to the customer. The advertisement could be delivered tothe customer in the form of a SMS or MMS message, via e-mail, via avoice call from a live operator, by calling the customer and deliveringa recorded message, or by calling the customer and connecting thecustomer to an interactive voice response system. In the case of aninteractive voice response system, the customer could be presented withmultiple options, with the ability to obtain various different items ofinformation, or with the ability to obtain a discount coupon for theadvertised service or product in any one of multiple different ways. Inany event, if the IP telephony system itself becomes involved indelivery of the advertisement, it would provide another potential wayfor the IP telephony system to obtain revenue from the delivery of theadvertisement. Also, if the advertisement were delivered in thatfashion, it would be possible for the IP telephony system to neverreveal the identity of the customer to which the advertisement is sent.And this could ally any fears that use of the customer's CDR data wouldlead to a breach of client confidentiality.

The IP telephony system 120 might also be able to obtain informationabout the customer's movements based on position data reported from GPSenabled telephones. If the customer's movements are also known, thisinformation could be combined with information obtained from an analysisof the CDR data to even better identify those competing businesses whomight be interested in sending an advertisement to the customer.

For example, and continuing with the pizza analogy given above, theanalysis of the CDR data might indicate that the customer typicallycalls a pizza shop at about 6 pm each Friday. An analysis of thecustomer's movements might also reveal that the customer travels fromhis office to his residence at about the same time each Friday night byan identifiable path. Given this information, the IP telephony systemcould then search for competing pizza shops that are along the routetraveled by the customer as he travels to his residence. If a competingpizza shop along that route is identified, the IP telephony system couldrecommend that the competing shop send the customer an advertisement.And this advertisement would be even more highly targeted because itwould be from a shop along the customer's normal route home.

Taking this example one step further, the IP telephony system couldoffer to deliver an advertisement from the competing pizza shop to thecustomer, with the advertisement to be delivered to the customer at 5:30pm on Friday evening, which is just before the customer typically placesan order for a pizza. Thus, the timing of the delivery of advertisingmessages could also be controlled based on an analysis of the customer'sCDR data.

In addition to analyzing CDR data to determine the businesses that acustomer calls, the analysis could reveal the locations that areregularly called. For example, an analysis of a customer's CDR datacould reveal that the customer regularly places calls to a particularforeign country. In this instance, the IP telephony system mightrecommend that a travel service that specializes in trips to thatcountry send an advertisement to the customer.

An analysis of a customer's CDR data might be used by the IP telephonysystem itself to recommend an alternate calling plan that would resultin better or less expensive service for the customer.

As noted above, the analysis of CDR data can take many forms. However,the analysis would be designed to identify information about thecustomer, his habits, his spending patterns, and his affiliations. Asalso noted above, the timing of the customer's communications mayprovide important clues about the customer's behavior patterns. Further,it may be possible to tie together both information from an analysis ofa customer's CDRs, and his movement patterns. All of this informationwould be used to target advertisements to the customer.

FIG. 11 illustrates another method of determining when to recommend thatcertain businesses send advertisements to a customer. This method beginsin step S1102 where a customer's telephone conversations and/orvoicemail messages are recorded. Next, in step S1104, the recordings aretranscribed. In step S1106, the transcriptions are analyzed forinformation. Here again, the analysis could take many different forms.But the core idea is to extract information about the customer's habits,spending patterns, behavior and affiliations. And based on thisinformation, in step S1108, the IP telephony system recommends tocertain businesses that they send advertisements to the customer.

As in the previous discussion, the method could include step S1110,where the IP telephony system itself delivers an advertising message tothe customer. As explained above, this could be done to protect theprivacy of the customer.

In addition to analyzing transcriptions of voicemail or telephoneconversations, the IP telephony system might also analyze the text fromtext messages, emails or other forms of communications that have beengenerated by a customer or that were directed to or delivered to acustomer. Here again, the IP telephony system would be attempting toextract information about the customer's habits, spending patterns,behavior and affiliations.

In the methods discussed above, if recordings of voicemail messages andtelephone conversations are being analyzed, and if text messages andemail messages are being examined, the customer may have to positivelyprovide permission for these actions to eliminate any privacyconsiderations.

FIG. 12 illustrates another method of determining when to recommend thattwo VOIP customers establish a link on a social networking system. Thismethod also makes use of transcriptions of recorded conversations andvoicemail messages and/or text messages e-mail messages and other formsof communications.

In step S1202, customer 1's telephone conversations and voicemailmessages are recorded. In step S1204, customer 2's telephoneconversations and voicemail messages are recorded. In step S1206, therecordings are transcribed. In step S1208, the transcribed information,and possibly also text messages, e-mail messages and othercommunications, are examined and analyzed to determine if keyinformation matches.

For example, in step S1208, the analysis of the transcriptions or textfrom text messages and e-mail messages may be designed to extract namesand telephone numbers that were spoken in telephone conversations andvoicemail messages or that appeared in the text or e-mail messages. Suchinformation would frequently be spoken in a voicemail message where acaller is leaving contact information so that the called party canreturn the call. If the analysis of customer 1's and customer 2'srecorded conversations, voicemail messages, text and e-mail messagesindicate matching information, then the IP telephony system issues arecommendation that customer 1 and customer 2 establish a link on asocial networking system.

FIG. 13 illustrates another method of determining when to recommend thattwo customers establish a link on a social networking system. In stepS1302, the IP telephony system records customer 1's telephoneconversations and voicemail messages. In step S1304, the IP telephonysystem transcribes the recordings. In step S1306, the IP telephonysystem extracts names, telephone numbers and other identifiers from thetranscriptions. Step S1306 may also include extracting names, telephonenumbers and other identifying information from text messages and e-mailmessages, as described above.

In step S1308, the IP telephony system uses previously obtainedcredentials to access customer 2's contact or link information on asocial networking system. The IP telephony system then compares thenames, telephone numbers and other identifiers extracted from thetranscriptions of the recordings to the names, telephone numbers andother identifiers appearing in customer 2's contact/link information onthe social networking system. If there is a match, in step S1310, the IPtelephony system recommends that a link be established between customer1 and customer 2 on the social networking system.

Another method of determining when to recommend that two individualestablish a link on a social networking system is illustrated in FIG.14. As shown therein, in step S1402, a first customer's telephoneconversations and voicemails are recorded. In step S1404, the recordingsare transcribed. In step S1406, the transcriptions are examined, andnames, telephone numbers and other identifiers are extracted from thetranscriptions. This step may also include extracting names, telephonenumbers and other identifiers from text messages, e-mail messages andother communications generated by or sent to the first customer.

In step S1408, a second customer's CDRs are analyzed to extract thetelephone numbers and other identifiers to which the second customer hassent communications and from which the second customer has receivedcommunications. Once a telephone number or other identifier has beenobtained, the IP telephony system may also use this information toobtain the name of an individual or business associated with thetelephone number and identifier. Identifying the names of individual andbusinesses could be accomplished using internal or external databases.

In step 1410, the names, telephone numbers and identifiers extractedfrom the first customer's communications are compared to the names,telephone numbers and identifiers extracted using the second customer'sCDRs. If there are matches, then a recommendation is made to establish alink between the first and second customer.

In many of the methods discussed above, an IP telephony systemrecommends that two customers establish a link on a social networkingsystem based on information drawn from one or more customers' use of theIP telephony system. In a similar fashion, it is possible to update oradd information to customer information and databases stored by an IPtelephony system based on the customer's use of the social networkingsystem.

FIG. 15 illustrates a method of adding information to a customer'saddress book maintained on an IP telephony system based on thatcustomer's use of or information stored on a social networking system.In step S1502, the IP telephony system would utilize a customer'scredentials with a social networking system to access the informationstored on the social networking system. Specifically, the IP telephonysystem would identify some or all of the individuals to which thecustomer is linked on the social networking system. The IP telephonysystem might also access contact information that the customer hasstored on the social networking system.

In step S1504, this information would then be compared to theinformation stored in an address book maintained by the customer withthe IP telephony system. If one or more of the individuals to whom thecustomer is linked on the social networking system are not alreadypresent in the customer's address book, new entries would be created inthe address book for those people. Also, even if there is already anentry in the customer's address book for one of the individuals to whomthe customer is linked on the social networking system, the IP telephonysystem may be able to obtain additional information about that personwhich can then be added to the address book maintained by the IPtelephony system. Thus, information stored on the social networkingsystem can be used to add or update information stored by the IPtelephony system.

FIG. 16 illustrates steps of a method of inviting individuals to join asocial networking system and to link to a customer of an IP telephonysystem on that social networking system. In step S1602, information fora customer of an IP telephony system is used to determine the telephonenumbers, names or other identifiers of individuals and businesses withwhom the customer communicates. This can include obtaining names andaddresses from an address book maintained by or for the customer on theIP telephony system. This could also include reviewing CDRs for thecustomer to obtain the telephone numbers or identifiers that thecustomer has sent communications to or received communications from. Ifonly a telephone number is available, it may be possible to use internalor external databases to determine a name associated with the telephonenumber.

In step S1604, invitations are sent to some or all of the individuals orbusinesses with whom the customer communicates. This could include aninvitation to join the social networking system, and also an invitationto establish a link with the customer on the social networking system.In some instances, it may be possible to first check to determine if oneof the individuals with whom the customer has been communicating isalready a member of the social networking system. If so, the invitationmay be limited to an invitation to establish a link with the customer.

FIG. 17 illustrates steps of another method of determining when toinvite individuals to join a social networking system, and possibly alsoto link to a customer of an IP telephony system. In step S1702, thecustomer's telephone conversations and voicemail messages are recorded.In step S1704, transcriptions of those recordings are made. In stepS1706, the transcriptions are analyzed to extract names, telephonenumbers and other identifiers for the individuals and businesses withwhom the customer has been communicating. This step might also includeanalyzing text messages, e-mail messages and other forms ofcommunications that are generated by or sent to the customer to extractnames, telephone numbers and other identifiers.

In step S1708, invitations are sent to some or all of the individuals orbusinesses with whom the customer has been communicating. This couldinclude an invitation to join the social networking system, and also aninvitation to establish a link with the customer on the socialnetworking system. Here again, in some instances it may be possible tofirst check to determine if one of the individuals with whom thecustomer has been communicating is already a member of the socialnetworking system. If so, the invitation may be limited to an invitationto establish a link with the customer.

In many of the methods described above, recommendations that twoindividuals should consider establishing a link on a social networkingsystem or invitations to join a social networking system are issued.Those recommendations and invitations could be sent by either a socialnetworking system or by an IP telephony system, depending on thesituation. They could be delivered to the individuals in many differentways. They could be delivered via text messages or e-mailcommunications. They could be delivered via audio recordings, via liveoperators, or by having the individuals connect to an interactive voiceresponse system. Any method of issuing and delivering suchrecommendations and invitations could be used.

While the foregoing description made reference to an IP telephonysystem, the methods and concepts described above are equally applicableto other types of telephony systems. Thus, references to an IP telephonysystem should not be considered in any way limiting.

While the technology has been described in connection with what ispresently considered to be the most practical and preferred embodiments,it is to be understood that the technology is not to be limited to thedisclosed embodiments, but on the contrary, is intended to cover variousmodifications and equivalent arrangements included within the spirit andscope of the appended claims.

1. A method of inviting an entity to join a social networking system,comprising: reviewing a user's communications activity on a telephonysystem and creating a list of identifiers associated with the user'scommunications activity; identifying an entity associated with at leastone of the identifiers on the list; and inviting the entity to join asocial networking system upon which the user is a member.
 2. The methodof claim 1, further comprising inviting the entity to form a link withthe user on the social networking system.
 3. The method of claim 1,wherein the reviewing step comprises creating a list of identifiersassociated with incoming communications that the user has receivedthrough the telephony system and outgoing communications that the userhas sent through the telephony system.
 4. The method of claim 1, whereinthe identifiers are telephone numbers, and wherein the identifying stepcomprises identifying an individual or business associated with at leastone of the telephone numbers on the list.
 5. The method of claim 1,wherein the reviewing step comprises reviewing transcripts of voicemailmessages that have been left for the user and creating a list ofidentifiers appearing in those transcripts.
 6. The method of claim 1,wherein the reviewing step comprises reviewing transcripts of telephoneconversations that the user has conducted over the telephony system andcreating a list of identifiers appearing in those transcripts.
 7. Themethod of claim 1, wherein the reviewing step comprises reviewing textmessages that the user has received through the telephony system or thatthe user has sent through the telephony system and creating a list ofidentifiers appearing in those text messages.
 8. The method of claim 1,wherein the reviewing step comprises reviewing e-mail messages that theuser has received through the telephony system or that the user has sentthrough the telephony system and creating a list of identifiersappearing in those e-mail messages.
 9. A system for inviting an entityto join a social networking system, comprising: means for reviewing auser's communications activity on a telephony system and creating a listof identifiers associated with the user's communications activity; meansfor identifying an entity associated with at least one of theidentifiers on the list; and means for inviting the entity to join asocial networking system upon which the user is a member.
 10. A systemfor inviting an entity to join a social networking system, comprising: areviewing unit that reviews a user's communications activity on atelephony system and that creates a list of identifiers associated withthe user's communications activity; an identifying unit that identifiesan entity associated with at least one of the identifiers on the list;and an invitation unit that invites the entity to join a socialnetworking system upon which the user is a member.
 11. The system ofclaim 10, wherein the invitation unit also invites the entity to form alink with the user on the social networking system.
 12. The system ofclaim 10, wherein the reviewing unit creates a list of identifiersassociated with incoming communications that the user has receivedthrough the telephony system and outgoing communications that the userhas sent through the telephony system.
 13. The system of claim 10,wherein the identifiers are telephone numbers, and wherein theidentifying unit identifies an individual or business associated with atleast one of the telephone numbers on the list.
 14. The system of claim10, wherein the reviewing unit reviews transcripts of voicemail messagesthat have been left for the user and creates a list of identifiersappearing in those transcripts.
 15. The system of claim 10, wherein thereviewing unit reviews transcripts of telephone conversations that theuser has conducted over the telephony system and creates a list ofidentifiers appearing in those transcripts.
 16. The system of claim 10,wherein the reviewing unit reviews text messages that the user hasreceived through the telephony system or that the user has sent throughthe telephony system and creates a list of identifiers appearing inthose text messages.
 17. The system of claim 10, wherein the reviewingunit reviews e-mail messages that the user has received through thetelephony system or that the user has sent through the telephony systemand creates a list of identifiers appearing in those e-mail messages.